An in-depth examination of unit, integration and system testing and the maintenance of large software-based systems. Topics include automated and manual techniques for generating and validating test data, the testing process, static vs. dynamic analysis, functional testing, inspections, and reliability assessments. Testing approaches based on graph theory, finite-state machines, formal specifications, logic and syntax based testing. Testing of graphical user interfaces, Stress testing. Development of a software configuration management plan encompassing tool selection, identification of artefacts, baseline and change control, measurement, auditing and reporting and release of... -- Course Website
Prerequisites: 8933 (v.11)<br/> Software Engineering 110<br/> <br/> or any previous version